#pragma once

#include <d3d9.h>
#include <d3dx9.h>

class R5SkyRender
{
public:
	R5SkyRender();
	virtual~R5SkyRender();
	void Initialise(IDirect3DDevice9 *pD3DDevice);
	void Release();
	void Flush(void);
private:
	void InitialiseSkyShader(void);
private:
	LPDIRECT3DVERTEXSHADER9      m_pVertexShader;
	LPDIRECT3DPIXELSHADER9       m_pPixelShader;
	LPD3DXCONSTANTTABLE          m_pVSConstantTable;
	LPD3DXCONSTANTTABLE          m_pPSConstantTable;
	ID3DXMesh*                   m_pSkyMesh;
	IDirect3DDevice9*            m_pD3DDevice;
	IDirect3DCubeTexture9*       m_pSkyEnvMap;
};